package com.grad.webstudy.dao;

import com.grad.webstudy.model.CourseDetail;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface CourseDetailDao {
    int deleteByPrimaryKey(Integer id);

    int insertSelective(CourseDetail record);

    CourseDetail selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(CourseDetail record);

    int updateByPrimaryKey(CourseDetail record);

    /**
     * 插入单个章节下的详情
     * @param record
     * @return
     */
    int insert(CourseDetail record);


    /**
     * 批量插入章节下的详情
     * @param details
     * @return
     */
    int insertDetails(List<CourseDetail> details);


    /**
     * 根据id批量删除
     * @param ids
     * @return
     */
    int deleteDetailByIds(List<String> ids);


    /**
     * 根据 章节id删除
     * @param chapterId
     * @return
     */
    int deleteDetailByChapterId(Integer chapterId);


    /**
     * 根据多个章节id批量删除
     * @param chapterIds
     * @return
     */
    int deleteDetailByChapterIds(List<String> chapterIds);


    /**
     * 更新信息
     * @param courseDetail
     * @return
     */
    int updateDetail(CourseDetail courseDetail);


    /**
     * 查询某章节下的全部信息
     * @param chapterId
     * @return
     */
    List<CourseDetail> queryAllByChapter(Integer chapterId);


    /**
     * 根据id查询信息
     * @param id
     * @return
     */
    CourseDetail queryCourseDetailById(Integer id);
}